package com.jason.schedulemigrationtest.mapper;

import com.jason.schedulemigrationtest.po.MigrationArchiveLog;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 数据迁移归档日志Mapper接口
 */
public interface MigrationArchiveLogMapper {
    
    /**
     * 插入归档日志记录
     * @param log 归档日志对象
     * @return 影响行数
     */
    int insert(MigrationArchiveLog log);

    /**
     * 查询最近的归档日志记录
     * @param limit 限制数量
     */
    List<MigrationArchiveLog> selectRecentLogs(@Param("limit") int limit);
    
    /**
     * 根据状态查询归档日志
     */
    List<MigrationArchiveLog> selectByStatus(@Param("status") String status);

    /**
     * 根据时间范围查询归档日志
     */
    List<MigrationArchiveLog> selectByDate(@Param("startDate") String startDate,
                                           @Param("endDate") String endDate);

    MigrationArchiveLog selectByBatchId(String batchId);
}